The jabbrevs application is a tool for maintaining lists of abbreviations, which works with jedit. It is distributed as part of the jstools package.
jabbrevs was designed for use with jedit's static abbreviation feature, which allows you to have abbreviations which you define for words (and phrases) automatically expanded as you type. However, it could easily be used by other Tk¡ or Tcl¡based editors, and it could conceivably be used for other purposes as well.
This help file describes jabbrevs version 3.6/3.0.
Copyright and contact information is available in the jstools documentation.
Invocation
jabbrevs
jabbrevs is typically called by jedit when you choose `Edit Static Abbreviations' from the Abbrev menu, but you can also start it yourself from the Unix command line by typing `jabbrevs'. In either case, it needs to be found in your path.
If you have trouble starting jabbrevs, see the Usage documentation for jstools.
Working with Abbreviations
Defining a New Abbreviation
To define a new abbreviation, type the abbreviation into the top text field, marked Abbreviation, and press Tab to move the cursor to the Expansion text field. Type the word or phrase your abbreviation should expand to in the Expansion text field and press Return or click Add to define the abbreviation. (The insertion cursor will be moved back to the Abbreviation field so you can enter another abbreviation if you choose.)
Clicking Add (or pressing Return in the `Expansion:' text field) tells jabbrevs itself to remember the abbreviation, but doesn't save it to disk or let other applications know about it. To save any new abbreviations to disk, click the Write button.
Finding the Expansion for an Abbreviation
To find out what the current expansion for a (potential) abbreviation is, type the abbreviation in the Abbreviation text field and press Return (or click Add - but leave the Abbreviation field empty). If you've typed a valid, existing abbreviation, the Expansion field will be filled in with its expansion. (If no such abbreviation exists, you'll get an message to that effect.)
Changing an Abbreviation
Changing an abbreviation is just like adding a new one. Type the (presumably already defined) abbreviation in the Abbreviation field, type its (changed) expansion in the Expansion field, and click Add or press Return. The abbreviation's old expansion will be replaced with the new one.
When making a minor change to an abbreviation, such as correcting a typo, you may find it convenient to press Return with the Expansion field empty, and let jabbrevs fill in the Expansion field with the old expansion. You can then edit it as you choose before pressing Return again (or clicking Add) to change it.
A Shortcut for Plurals
(This description is specific to English, but the idea may be applied to other inflected languages.)
jedit doesn't have any built¡in understanding of English plurals or suffixes, so just because you have an abbreviation `abbr' defined to expand to `abbreviation', jedit won't automatically expand `abbrs' to `abbreviations'. So you may wish to define abbreviations for plurals (or other inflected forms) of words. You can do that easily, though, by typing the singular abbreviation and pressing Return, letting jabbrevs fill in the singular expansion. Your insertion cursor is left at the end of the singular form of the expansion, so you can add `s' (or otherwise edit the expansion) and press Tab to move the insertion cursor back to the end of the Abbreviation field. (It's important not to press Return at this point, or you'll be overwriting the singular abbreviation.) Then you can add an `s' or otherwise distinguish the plural abbreviation from the singular version, and press Return to add the new plural abbreviation. The same principle can be applied to other inflectional endings.
Deleting Abbreviations
To delete an abbreviation, type it in the Abbreviation field and click Delete. (It doesn't matter whether there's anything in the Expansion field or not.) jabbrevs will forget the abbreviation, and the next time you write the abbreviations out to disk, the deleted abbreviation will be removed from the disk file.
Saving and Reloading Abbreviations
Saving the Abbreviations
To save your abbreviations to disk, click the Write button. Until you do this, other applications have no way of seeing the new abbreviations you have defined. (Also, if you quit jabbrevs without saving your changes, they will be lost.)
Reloading the Abbreviations from Disk
To reload the abbreviations from disk (for instance if you've accidentally deleted or changed an abbreviation you wanted to keep), choose `Reload' from the `File' menu. Any changes you have not yet written will be lost.
Your abbreviations are always loaded in when jabbrevs starts up, so you only need to choose `Reload' to recover from mistakes.
Quitting jabbrevs
You can quit jabbrevs either by clicking the Quit button or by choosing Quit from the `Abbrevs' menu. If you started jabbrevs from within jedit by choosing `Edit Static Abbrevs' from jedit's `Abbrevs' menu, then jedit will re¡read your (probably changed) abbrevs file from disk when you quit jabbrevs.
The Abbrevs Menu
The `Abbrevs' menu has commands to get information about jabbrevs and for a few miscellaneous tasks.
Help
The `Help' command displays this help file. (It uses the jdoc command, so in order for it to work that command must be installed on your system and in your path. The help file must also be installed, or be in the current directory.)
About the Abbrevs Manager...
The `About the Abbrevs Manager...' command displays an information panel with copyright information. The panel also lets you get more information about the author, and about the Tk/Tcl scripting environment.
Global Preferences...
This command brings up the jstools Global Preferences panel. Preferences which are particularly relevant to jabbrevs are `Confirm Actions', which controls whether you're asked to confirm before quitting, and the key bindings preferences, which control which keyboard commands you have available for working in the two entry fields.
Issue Tcl Command...
This brings up a panel that prompts you for a Tcl command to be executed. This is an advanced feature intended primarily for use in designing and debugging configuration files; it's not normally useful for manipulating abbreviations.
Issue Unix Command...
This brings up a panel that prompts you for a Unix command to be executed. If the command produces any output, it will be displayed; otherwise you'll see a notice to that effect. If there are any errors in the execution of the command, you'll see an error dialogue box with the error message returned by the command. This command doesn't have any effect on your abbreviations; it's just a convenience.
Quit
This quits the program (asking for confirmation first if you've chosen `Confirm Actions' on the Global Preferences panel). It's the same as clicking the `Quit' button.
Customising the Abbrevs Manager
jabbrevs supports the standard jstools customisation mechanisms. You should consult the general jstools customisation documentation as well as the description below.
The ~/.tk/jabbrevsrc.tcl Startup Script
In addition to the limited customisation you can do through the Global Preferences panel, you can customise the behaviour of jabbrevs by putting Tcl code in the startup script ~/.tk/jabbrevsrc.tcl. While you probably don't need to customise an application as simple as jabbrevs, you can if you want to.
Evolution
Feel free to report bugs (and feature requests) to me, <js@bu.edu>, and I will try to deal with them. Also, feel free to fix bugs or add features on your own and let me know how you did it.
Changes
* The abbrevs manager is new with version 3.6/3.0.
Future Directions
* The abbrevs manager should communicate dynamically with jedit (and any other applications which use it) via Tk's send(n) command, so that abbreviations are available as soon as you define them.
* It should be possible to specify other files to use than the default ~/.tk/abbrevs.tcl.
* I hope to give jabbrevs the ability (optionally) to write abbreviation definitions to Emacs' ~/.abbrev_defs file and to vi's ~/.exrc file, so if you use multiple editors you can have the same abbreviations available in all of them.